package com.ruoyi.business.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 发布产品SKU信息对象 jt_product_publish_sku
 * 
 * @author Alan Zhang
 * @date 2025-04-22
 */
public class JtProductPublishSku extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** SKU ID */
    private Long skuId;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** SKU名称 */
    @Excel(name = "SKU名称")
    private String skuName;

    /** SKU编码 */
    @Excel(name = "SKU编码")
    private String skuCode;

    /** 商品属性 1成品 2半成品 3原材料 */
    @Excel(name = "商品属性", readConverterExp = "1=成品,2=半成品,3=原材料")
    private String attributes;

    /** 重量(KG) */
    @Excel(name = "重量(KG)")
    private Float weight;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 货币 CNY USD */
    @Excel(name = "货币")
    private String saleCurrency;

    /** 售价(元) */
    @Excel(name = "售价(元)", cellType = Excel.ColumnType.NUMERIC)
    private BigDecimal salePrice;

    /** SKU图片路径 */
    @Excel(name = "SKU图片路径")
    private String imageUrl;

    /** SKU缩略图片路径 */
    @Excel(name = "SKU缩略图片路径")
    private String thumbnailUrl;

    /** 规格 */
    @Excel(name = "规格")
    private String spec;

    /** 原产地 */
    @Excel(name = "原产地")
    private String countryOfOrigin;

    /** 销量 */
    @Excel(name = "销量", cellType = Excel.ColumnType.NUMERIC)
    private Long soldQty;

    /** 库存 */
    @Excel(name = "库存")
    private Long stock;

    /** 状态（0正常 1停用） */
    @Excel(name = "状态", readConverterExp = "0=正常,1=停用")
    private Integer status;

    public void setSkuId(Long skuId) 
    {
        this.skuId = skuId;
    }

    public Long getSkuId() 
    {
        return skuId;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setSkuName(String skuName) 
    {
        this.skuName = skuName;
    }

    public String getSkuName() 
    {
        return skuName;
    }
    public void setSkuCode(String skuCode) 
    {
        this.skuCode = skuCode;
    }

    public String getSkuCode() 
    {
        return skuCode;
    }
    public void setAttributes(String attributes) 
    {
        this.attributes = attributes;
    }

    public String getAttributes() 
    {
        return attributes;
    }
    public void setWeight(Float weight)
    {
        this.weight = weight;
    }

    public Float getWeight()
    {
        return weight;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setSaleCurrency(String saleCurrency) 
    {
        this.saleCurrency = saleCurrency;
    }

    public String getSaleCurrency() 
    {
        return saleCurrency;
    }
    public void setSalePrice(BigDecimal salePrice) 
    {
        this.salePrice = salePrice;
    }

    public BigDecimal getSalePrice() 
    {
        return salePrice;
    }

    public void setImageUrl(String imageUrl) 
    {
        this.imageUrl = imageUrl;
    }

    public String getImageUrl() 
    {
        return imageUrl;
    }
    public void setThumbnailUrl(String thumbnailUrl) 
    {
        this.thumbnailUrl = thumbnailUrl;
    }

    public String getThumbnailUrl() 
    {
        return thumbnailUrl;
    }
    public void setSpec(String spec) 
    {
        this.spec = spec;
    }

    public String getSpec() 
    {
        return spec;
    }
    public void setCountryOfOrigin(String countryOfOrigin) 
    {
        this.countryOfOrigin = countryOfOrigin;
    }

    public String getCountryOfOrigin() 
    {
        return countryOfOrigin;
    }
    public void setSoldQty(Long soldQty) 
    {
        this.soldQty = soldQty;
    }

    public Long getSoldQty() 
    {
        return soldQty;
    }
    public void setStock(Long stock) 
    {
        this.stock = stock;
    }

    public Long getStock() 
    {
        return stock;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("skuId", getSkuId())
            .append("productId", getProductId())
            .append("skuName", getSkuName())
            .append("skuCode", getSkuCode())
            .append("attributes", getAttributes())
            .append("weight", getWeight())
            .append("unit", getUnit())
            .append("saleCurrency", getSaleCurrency())
            .append("salePrice", getSalePrice())
            .append("imageUrl", getImageUrl())
            .append("thumbnailUrl", getThumbnailUrl())
            .append("spec", getSpec())
            .append("countryOfOrigin", getCountryOfOrigin())
            .append("soldQty", getSoldQty())
            .append("stock", getStock())
            .append("status", getStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
